package com.h6.crm.util.pojo.vo;

import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema.RequiredMode;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Schema(description = "查询项目列表信息实体")
@Data
public class QueryProjectVO {

    @Schema(description = "项目名")
    String projectName;

    @Schema(description = "项目来源")
    String source;

    @Schema(description = "业务员")
    Long salesmanId; // 业务员 归属

    @Schema(description = "项目报备开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    Date startDate;

    @Schema(description = "项目报备结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    Date endDate;

    @Schema(description = "省份")
    String province;

    @Schema(description = "城市")
    String city;

    @Schema(description = "项目状态：进行中，终止，签约")
    String projectStatus; // 项目状态：进行中，终止，签约

    @Schema(description = "当前页", requiredMode = RequiredMode.REQUIRED)
    @NotNull(message = "当前页不能为空！")
    Integer page;

    @Schema(description = "页数", requiredMode = RequiredMode.REQUIRED)
    @NotNull(message = "页数不能为空！")
    Integer pageSize;
}
